package com.kai.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpressOrder implements Serializable {


    /**
     * 主键ID
     */
    private Long id;

    /**
     * 订单编号
     */
    private String orderNumber;

    /**
     * 用户ID 下单人姓名
     */
    private Long userId;

    /**
     * 收货人姓名
     */
    private String recipientName;

    /**
     * 取货地址
     */
    private String expressPickupAddress;

    /**
     * 快递公司
     */
    private String carrier;

    /**
     * 快递状态(1:待接单, 2:已接单, 3:取件中, 4:已取件, 5:配送中, 6:已送达, 7:已取消)
     */
    private Integer expressStatus;

    /**
     * 收件人电话
     */
    private String recipientPhone;

    /**
     * 收件人地址
     */
    private String recipientAddress;

    /**
     * 物品类型（文件、小件、大件、重物等）
     */
    private String itemType;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 取件码
     */
    private String pickupCode;

    /**
     * 运费
     */
    private BigDecimal shippingFee;

    /**
     * 接单人ID（逻辑外键）
     */
    private Long courierId;

    /**
     * 接单时间
     */

    private LocalDateTime acceptTime;

    /**
     * 取件时间
     */

    private LocalDateTime pickupTime;

    /**
     * 送达时间
     */

    private LocalDateTime deliveryTime;


    /*
    / 预期送达时间
     */
    private LocalDateTime expectedDeliveryTime;

    /**
     * 创建时间
     */

    private LocalDateTime createTime;

    /**
     * 更新时间
     */

    private LocalDateTime updateTime;

    /**
     * 逻辑删除(0:正常, 1:删除)
     */
    private Integer isDeleted;
}
